There is a known technique of executing parallel processing by simultaneously running a plurality of cores in order to enable high-speed processing of data.
One example of the technique of executing parallel processing as described above is shown in Patent Document 1. Patent Document 1 describes a program parallel execution system that includes: a first processor core that has an operating system on which a first application program runs and an OL remote control means; and a second processor core that has a lightweight scheduler and runs a second application program on the basis of a request by the OL remote control means without running an operating system. According to Patent Document 1, with the configuration described above, it is possible to execute parallel processing with less influence of overhead resulting from OS intervention in processing by the second processor core.
Further, as one example of a method for parallel process scheduling in a parallel computer, a method described in Patent Document 2 is known. Patent Document 2 describes a technique of, in a device in the parallel synchronization waiting state for a parallel process, running another process. That is to say, according to Patent Document 2, by dispatching an executable process of another job instead of dispatching the parallel process in the parallel synchronization waiting state, it is possible to prevent decrease of the throughput performance of a system.
Patent Document 1: Japanese Patent Publication No. 5453825
Patent Document 2: Japanese Unexamined Patent Application Publication No. JP-A H9-128351 (1997)
However, according to the technique described in Patent Document 1, the lightweight scheduler that controls the second processor core is formed independent of the main system. Therefore, in the case of using the technique described in Patent Document 1, it is difficult for the lightweight scheduler to execute control in cooperation with scheduling on the main system. As a result, there is a case where it is difficult to perform efficient scheduling as the whole system.
Further, the technique described in Patent Document 2 relates to control executed when a program is in the waiting state, and it is difficult to execute control appropriate for the scheduling status of another device. Therefore, also in the case of using the technique described in Patent Document 2, it may be difficult to perform efficient scheduling as the whole system, depending on the scheduling status of the other device, for example, when a context switch is executed.
Thus, there has been a problem that it may be difficult to perform efficient scheduling as the whole system because information is not shared by schedulers which manage the respective processes when parallel processing is executed.